home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / language / embedded / m68k / tutor.arc / TM.SA < prev    next >
Text File  |  1990-01-05  |  3KB  |  82 lines

  1. TM       IDNT      1,0       TM  Transparent mode                    12/28/81
  2.          XDEF      TMCMD
  3.  SPC 1
  4.          XREF      FIXDCRLF
  5.          XREF      FNEXTF
  6.          XREF      GETSER1
  7.          XREF      GETSER2
  8.          XREF      MACSBUG
  9.          XREF      MD1CON
  10.          XREF      OUT1CR
  11.          XREF      PNT2HX
  12.          XREF.S    TMCHARS
  13.  
  14. DELAYC1  EQU       $1000
  15. EOT      EQU       4
  16.  
  17.          SECTION   10
  18.          MOVE.W    #$1801,TMCHARS      CNTLX,CNTL/A
  19.  SPC 5
  20. *    TM  [[EXIT CHAR]TRAILING CHAR]
  21. *
  22. *  In transparent mode the terminal is physically connected to the
  23. *  host; at the same time the terminal is watched by TM software
  24. *  for the EXIT character.  When the exit character is transmitted
  25. *  by the terminal it goes directly to the host; and at the same
  26. *  time the TM software reconfigures the hardware.  If a nonnull
  27. *  trailing character is present it is now sent via port 2 to
  28. *  the host.
  29.  PAGE
  30.          SECTION   11
  31. *   TRANSPARENT MODE
  32. *
  33. TMCMD    LEA       P2CMD0(PC),A0
  34.          BSR       FNEXTF              FIND NEXT FIELD
  35.          MOVE.B    (A5)+,TMCHARS+1     QUIT CHARACTER
  36.          BSR       FNEXTF              FIND NEXT FIELD
  37.          MOVE.B    (A5)+,TMCHARS       OPTIONAL TRAILING CHAR
  38. P2CMD0   MOVE.W    TMCHARS,D7
  39.          BSR       GETSER1              ADDRESS FOR PORT1 INTO A0
  40.          LEA       MSG006(PC),A5        "TRANSPARENT MODE"
  41.          BSR FIXDCRLF    SET UP FOR MESSAGE
  42.          MOVE.L D7,D0  EXIT CHARACTER
  43.          BSR PNT2HX   PRINT 2 HEX CHARACTERS
  44.          MOVE.W #' =',(A6)+
  45.          MOVE.B D7,D0         SEE IF CONTROL CHAR
  46.          CMP.B #' ',D0
  47.          BPL.S P2CMD01
  48.          MOVE.L #' CTL',(A6)+
  49.          ADD.B #64,D0         MAKE IT A PRINTABLE CHARACTER
  50. P2CMD01  MOVE.B #' ',(A6)+
  51.          MOVE.B D0,(A6)+
  52.          MOVE.W #$0D0A,(A6)+
  53.          BSR OUT1CR  GO PRINT BUFFER WITH CRLF
  54.  SPC 1
  55.          MOVE.B MD1CON,D0 PROGRAM ACIA FOR TRANSPARENT MODE
  56.          AND.B #$9F,D0
  57.          OR.B #$40,D0 FORCE RTS HIGH
  58.          MOVE.B D0,0(A0)
  59. P2CMD2   BTST.B  #$0,0(A0)  READ STATUS
  60.          BEQ.S P2CMD2
  61.          MOVE.B 2(A0),D0      RECEIVE CHAR FROM PORT 1
  62.          AND.B #$7F,D0
  63.          CMP.B D7,D0  SEE IF QUIT CHARACTER (CTL A USUALLY)
  64.          BNE.S     P2CMD2
  65.          MOVE.B MD1CON,D0 REPROGRAM FOR NON-TRANSPARENT
  66.          AND.B #$9F,D0
  67.          MOVE.B D0,0(A0)
  68.  
  69.          ASR.W #8,D7
  70.          TST.B D7
  71.          BEQ.S P2CMD6
  72. *        SPECIAL SECOND CHAR TO HOST SEQUENCE
  73.          MOVE.L #DELAYC1,D0
  74. P2CMD4   SUB.L #1,D0 DELAY; ALLOW HOST TO SYNC
  75.          BNE.S P2CMD4
  76.          BSR       GETSER2
  77.          MOVE.B D7,2(A0) SEND CHAR
  78. P2CMD6   BRA MACSBUG
  79.  SPC 1
  80. MSG006   DC.B      '*TRANSPARENT* EXIT=$',EOT
  81.  SPC 3
  82.          END